import "@site/src/languages/highlight";

# Size

**描述：**

&emsp;&emsp;具有给定宽度和高度的尺寸对象类。

**类对象：**[Size Class](/docs/api/Class%20Object/Size)。

**继承自：**[ContainerItem](/docs/api/Class/ContainerItem)。

## width

**类型：** 成员变量。

**描述：**

&emsp;&emsp;尺寸对象的宽度。

**签名：**
```tl
width: number
```

## height

**类型：** 成员变量。

**描述：**

&emsp;&emsp;尺寸对象的高度。

**签名：**
```tl
height: number
```

## set

**类型：** 函数。

**描述：**

&emsp;&emsp;设置尺寸对象的宽度和高度。

**签名：**
```tl
set: function(self: Size, width: number, height: number)
```

**参数：**

| 参数名 | 类型 | 描述 |
| --- | --- | --- |
| width | number | 尺寸对象的新宽度。 |
| height | number | 尺寸对象的新高度。 |

## equals

**类型：** 函数。

**描述：**

&emsp;&emsp;检查两个尺寸对象是否相等。

**签名：**
```tl
equals: function(self: Size, other: Size): boolean
```

**参数：**

| 参数名 | 类型 | 描述 |
| --- | --- | --- |
| other | Size | 要比较的另一个尺寸对象。 |

**返回值：**

| 返回类型 | 描述 |
| --- | --- |
| boolean | 两个尺寸对象是否相等。 |

## mul

**类型：** 函数。

**描述：**

&emsp;&emsp;将尺寸对象乘以向量。

**签名：**
```tl
mul: function(self: Size, vec: Dora.Vec2.Type): Size
```

**参数：**

| 参数名 | 类型 | 描述 |
| --- | --- | --- |
| vec | Vec2 | 要乘以的向量，用一个Vec2对象表示。 |

**返回值：**

| 返回类型 | 描述 |
| --- | --- |
| Size | 将尺寸对象乘以向量的结果。 |

## __eq

**类型：** 元方法。

**描述：**

&emsp;&emsp;检查两个尺寸对象是否相等。

**签名：**
```tl
metamethod __eq: function(self: Size, other: Size): boolean
```

**用法示例：**
```tl
sizeA == sizeB or sizeC ~= sizeD
```

**参数：**

| 参数名 | 类型 | 描述 |
| --- | --- | --- |
| other | Size | 要比较的另一个尺寸对象。 |

**返回值：**

| 返回类型 | 描述 |
| --- | --- |
| boolean | 两个尺寸对象是否相等。 |

## __mul

**类型：** 元方法。

**描述：**

&emsp;&emsp;将尺寸对象乘以向量。

**签名：**
```tl
metamethod __mul: function(self: Size, vec: Dora.Vec2.Type): Size
```

**用法示例：**
```tl
local halfSize = size * Vec2(0.5, 0.5)
```

**参数：**

| 参数名 | 类型 | 描述 |
| --- | --- | --- |
| vec | Vec2 | 要乘以的向量，用一个Vec2对象表示。 |

**返回值：**

| 返回类型 | 描述 |
| --- | --- |
| Size | 将尺寸对象乘以向量的结果。 |